#include "msg_handler.h"
#include "stdio.h"
#include "cJSON.h"


//json序列化操作
char* json_in(devdata* data)
{


    cJSON *root=cJSON_CreateObject();

    cJSON_AddNumberToObject(root,"tem",data->tem);
    cJSON_AddNumberToObject(root,"hum",data->hum);

    char* json_string=cJSON_PrintUnformatted(root);

    cJSON_Delete(root);

    return json_string;
}

int json_out(const char* json_str, devdata* data) {
    // 参数合法性检查
    if (json_str == NULL || data == NULL) {
        return -1;
    }

    // 解析JSON字符串
    cJSON* root = cJSON_Parse(json_str);


    // 提取各字段（使用大小写不敏感的查找方式，兼容cJSON库实现） 
    cJSON* tem_item = cJSON_GetObjectItem(root, "tem");
     if(tem_item==NULL)
     {
        printf("tem_item error");

     }
     printf("%.2f\n",tem_item->valuedouble);
    cJSON* hum_item = cJSON_GetObjectItem(root, "hum");
     if(hum_item==NULL)
     {
        printf("hum_item error");

     }
     printf("%.2f\n",hum_item->valuedouble);


    // 释放JSON对象
    cJSON_Delete(root);
    return 0;
}

void msg_handler(const char* payload, int len) {
    // 实现消息处理逻辑
    printf("处理消息: %.*s\n", len, payload);
}